package com.psddev.cms.tool.file; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import com.psddev.dari.util.StorageItem; import com.psddev.dari.util.StorageItemBeforeSave; import com.psddev.dari.util.StorageItemUploadPart; public class MetadataBeforeSave implements StorageItemBeforeSave { @Override public void beforeSave(StorageItem storageItem, StorageItemUploadPart part) { if (part != null) { Map<String, Object> metadata = new LinkedHashMap<>(); metadata.put("originalFilename", part.getName()); Map<String, List<String>> httpHeaders = new LinkedHashMap<>(); httpHeaders.put("Cache-Control", Collections.singletonList("public, max-age=31536000")); httpHeaders.put("Content-Length", Collections.singletonList(String.valueOf(part.getSize()))); httpHeaders.put("Content-Type", Collections.singletonList(part.getContentType())); metadata.put("http.headers", httpHeaders); storageItem.getMetadata().putAll(metadata); } } }